#include <REGX52.H>

//串口初始化


//void UartInit(void)		//4800bps@12.000MHz
//{
//	PCON |= 0x80;		//使能波特率倍速位SMOD
//	SCON = 0x50;		//8位数据,可变波特率
//	AUXR &= 0xBF;		//定时器1时钟为Fosc/12,即12T
//	AUXR &= 0xFE;		//串口1选择定时器1为波特率发生器
//	TMOD &= 0x0F;		//清除定时器1模式位
//	TMOD |= 0x20;		//设定定时器1为8位自动重装方式
//	TL1 = 0xF3;		//设定定时初值
//	TH1 = 0xF3;		//设定定时器重装值
//	ET1 = 0;		//禁止定时器1中断
//	TR1 = 1;		//启动定时器1
//}


void UART_Init()
{
	SCON=0x50;//
	PCON |= 0x80;
	//配置定时器1
	TMOD &= 0x0F;//前4位置零
	TMOD |= 0x20;//配置前4位(8位自动重装载)
	TL1 = 0xF4;
	TH1 = 0xF4;
	ET1 = 0;
	TR1 = 1;//启动定时器1
	ES = 1;
	EA = 1;
} 


//发送数据
void UART_byte(unsigned char x)
{
	SBUF=x;
	while(TI==0);
	TI=0;
}


//串口中断接受数据
/*
void UART_Routine() interrupt 4//接收和发送数据产生中断
{
	if(RI==1)//RI当接受数据时为1//TI为发送数据时硬件会置1
	{
		P2=SBUF;//接受的数据存放在SBUF（P2为测试使用可跟改为需要接收数据的器件）
		
		RI=0;//RI需要手动置0否则一直为1不接收新数据
	}
}
*/